package pers.fqq.dlfd.demo;

import io.swagger.annotations.ApiModelProperty;
import javax.validation.Valid;

public class RequestDTO<T> {
    @ApiModelProperty(
            hidden = true
    )
    private String entityCode;
    @ApiModelProperty(
            hidden = true
    )
    private String channel;
    @ApiModelProperty(
            hidden = true
    )
    private String serviceCode;
    @ApiModelProperty(
            hidden = true
    )
    private String postingDateText;
    @ApiModelProperty(
            hidden = true
    )
    private String valueDateText;
    @ApiModelProperty(
            hidden = true
    )
    private String localDateTimeText;
    @ApiModelProperty(
            hidden = true
    )
    private String transactionBranch;
    @ApiModelProperty(
            hidden = true
    )
    private String userId;
    @ApiModelProperty(
            hidden = true
    )
    private String externalReferenceNo;
    @ApiModelProperty(
            hidden = true
    )
    private String route;
    @Valid
    private T body;



    public String getEntityCode() {
        return this.entityCode;
    }

    public String getChannel() {
        return this.channel;
    }

    public String getServiceCode() {
        return this.serviceCode;
    }

    public String getPostingDateText() {
        return this.postingDateText;
    }

    public String getValueDateText() {
        return this.valueDateText;
    }

    public String getLocalDateTimeText() {
        return this.localDateTimeText;
    }

    public String getTransactionBranch() {
        return this.transactionBranch;
    }

    public String getUserId() {
        return this.userId;
    }

    public String getExternalReferenceNo() {
        return this.externalReferenceNo;
    }

    public String getRoute() {
        return this.route;
    }

    public T getBody() {
        return this.body;
    }

    public void setEntityCode(String entityCode) {
        this.entityCode = entityCode;
    }

    public void setChannel(String channel) {
        this.channel = channel;
    }

    public void setServiceCode(String serviceCode) {
        this.serviceCode = serviceCode;
    }

    public void setPostingDateText(String postingDateText) {
        this.postingDateText = postingDateText;
    }

    public void setValueDateText(String valueDateText) {
        this.valueDateText = valueDateText;
    }

    public void setLocalDateTimeText(String localDateTimeText) {
        this.localDateTimeText = localDateTimeText;
    }

    public void setTransactionBranch(String transactionBranch) {
        this.transactionBranch = transactionBranch;
    }

    public void setUserId(String userId) {
        this.userId = userId;
    }

    public void setExternalReferenceNo(String externalReferenceNo) {
        this.externalReferenceNo = externalReferenceNo;
    }

    public void setRoute(String route) {
        this.route = route;
    }

    public void setBody(T body) {
        this.body = body;
    }

    public boolean equals(Object o) {
        if (o == this) {
            return true;
        } else if (!(o instanceof RequestDTO)) {
            return false;
        } else {
            RequestDTO<?> other = (RequestDTO)o;
            if (!other.canEqual(this)) {
                return false;
            } else {
                label143: {
                    Object this$entityCode = this.getEntityCode();
                    Object other$entityCode = other.getEntityCode();
                    if (this$entityCode == null) {
                        if (other$entityCode == null) {
                            break label143;
                        }
                    } else if (this$entityCode.equals(other$entityCode)) {
                        break label143;
                    }

                    return false;
                }

                Object this$channel = this.getChannel();
                Object other$channel = other.getChannel();
                if (this$channel == null) {
                    if (other$channel != null) {
                        return false;
                    }
                } else if (!this$channel.equals(other$channel)) {
                    return false;
                }

                Object this$serviceCode = this.getServiceCode();
                Object other$serviceCode = other.getServiceCode();
                if (this$serviceCode == null) {
                    if (other$serviceCode != null) {
                        return false;
                    }
                } else if (!this$serviceCode.equals(other$serviceCode)) {
                    return false;
                }

                label122: {
                    Object this$postingDateText = this.getPostingDateText();
                    Object other$postingDateText = other.getPostingDateText();
                    if (this$postingDateText == null) {
                        if (other$postingDateText == null) {
                            break label122;
                        }
                    } else if (this$postingDateText.equals(other$postingDateText)) {
                        break label122;
                    }

                    return false;
                }

                label115: {
                    Object this$valueDateText = this.getValueDateText();
                    Object other$valueDateText = other.getValueDateText();
                    if (this$valueDateText == null) {
                        if (other$valueDateText == null) {
                            break label115;
                        }
                    } else if (this$valueDateText.equals(other$valueDateText)) {
                        break label115;
                    }

                    return false;
                }

                Object this$localDateTimeText = this.getLocalDateTimeText();
                Object other$localDateTimeText = other.getLocalDateTimeText();
                if (this$localDateTimeText == null) {
                    if (other$localDateTimeText != null) {
                        return false;
                    }
                } else if (!this$localDateTimeText.equals(other$localDateTimeText)) {
                    return false;
                }

                Object this$transactionBranch = this.getTransactionBranch();
                Object other$transactionBranch = other.getTransactionBranch();
                if (this$transactionBranch == null) {
                    if (other$transactionBranch != null) {
                        return false;
                    }
                } else if (!this$transactionBranch.equals(other$transactionBranch)) {
                    return false;
                }

                label94: {
                    Object this$userId = this.getUserId();
                    Object other$userId = other.getUserId();
                    if (this$userId == null) {
                        if (other$userId == null) {
                            break label94;
                        }
                    } else if (this$userId.equals(other$userId)) {
                        break label94;
                    }

                    return false;
                }

                label87: {
                    Object this$externalReferenceNo = this.getExternalReferenceNo();
                    Object other$externalReferenceNo = other.getExternalReferenceNo();
                    if (this$externalReferenceNo == null) {
                        if (other$externalReferenceNo == null) {
                            break label87;
                        }
                    } else if (this$externalReferenceNo.equals(other$externalReferenceNo)) {
                        break label87;
                    }

                    return false;
                }

                Object this$route = this.getRoute();
                Object other$route = other.getRoute();
                if (this$route == null) {
                    if (other$route != null) {
                        return false;
                    }
                } else if (!this$route.equals(other$route)) {
                    return false;
                }

                Object this$body = this.getBody();
                Object other$body = other.getBody();
                if (this$body == null) {
                    if (other$body != null) {
                        return false;
                    }
                } else if (!this$body.equals(other$body)) {
                    return false;
                }

                return true;
            }
        }
    }

    protected boolean canEqual(Object other) {
        return other instanceof RequestDTO;
    }


    public String toString() {
        return "RequestDTO(entityCode=" + this.getEntityCode() + ", channel=" + this.getChannel() + ", serviceCode=" + this.getServiceCode() + ", postingDateText=" + this.getPostingDateText() + ", valueDateText=" + this.getValueDateText() + ", localDateTimeText=" + this.getLocalDateTimeText() + ", transactionBranch=" + this.getTransactionBranch() + ", userId=" + this.getUserId() + ", externalReferenceNo=" + this.getExternalReferenceNo() + ", route=" + this.getRoute() + ", body=" + this.getBody() + ")";
    }
}
